/**
 * Express.js 路由参数&路由处理回调函数
 */

//导入Express模块
const express = require("express");
//创建Express应用
const app = express();
//Express http服务端口
const port = 3001;

//路由参数:使用冒号“：”开始作为占位符
app.get("/users/:userId/books/:bookId", function (req, res) {
    console.log(req.params);
    res.send(`用户ID${req.params.userId},书籍ID${req.params.bookId}`);
});

app.get("/example/a", function (req, res) {
    res.send("处理路由 /example/a");
});

app.get("/example/b", 
    function (req, res,next) {
        console.log(`处理/example/b的第1个回函数...`);
        next();//进入下一个回调函数
     }, 
    function (req, res) {
        console.log(`处理/example/b的第2个回函数...`);
        res.send("处理路由 /example/b");
});

const cb0=function(req,res,next){
    console.log(`处理/example/c的第1个回函数...`);
    next();
}
const cb1=function(req,res,next){
    console.log(`处理/example/c的第2个回函数...`);
    next();
}
const cb2=function(req,res,next){
    console.log(`处理/example/c的第3个回函数...`);
    res.send("处理路由 /example/c");
}

app.get("/example/c",[cb0,cb1,cb2]);

app.get("/example/d",
[cb0,cb1],
function(req,res,next){
    console.log(`处理/example/d的回调函数`);
    next();
},
function(req,res){
    console.log(`处理/example/d的另一个回调函数`);
    res.send("处理路由 /example/d");
});

//启动Express服务
app.listen(port, function () {
    console.log(`MyApp访问地址:http://127.0.0.1:${port}`);
});
